home *** CD-ROM | disk | FTP | other *** search
- #include "geom.h"
- #include "color.h"
- #include "crayolaP.h"
-
- ColorA crayDefColor = {CRAY_DEFR, CRAY_DEFG, CRAY_DEFB, CRAY_DEFA};
-
- static char methods[][CRAYOLA_MAXNAME] =
- {
- CRAYOLA_METHNAMES
- };
- int sel[CRAYOLA_MAXMETH];
-
- void crayolaInit() {
- int i;
-
- for (i = 0; i < CRAYOLA_MAXMETH; i++)
- sel[i] = GeomNewMethod(methods[i], crayFalse);
-
- cray_bezier_init();
- cray_inst_init();
- cray_list_init();
- cray_mesh_init();
- cray_polylist_init();
- cray_quad_init();
- cray_vect_init();
-
- }
-
- void crayInitSpec(craySpecFunc *specfunc, int n_func, GeomClass *class) {
- int i;
- for (i = 0; i < n_func; i++)
- GeomSpecifyMethod(GeomMethodSel(specfunc[i].name), class,
- specfunc[i].func);
- }
-
- int crayHasColor(Geom *geom, int *gpath) {
- return (int)GeomCall(sel[0], geom, gpath);
- }
-
- int crayHasVColor(Geom *geom, int *gpath) {
- return (int)GeomCall(sel[1], geom, gpath);
- }
-
- int crayHasFColor(Geom *geom, int *gpath) {
- return (int)GeomCall(sel[2], geom, gpath);
- }
-
- int crayCanUseVColor(Geom *geom, int *gpath) {
- return (int)GeomCall(sel[3], geom, gpath);
- }
-
- int crayCanUseFColor(Geom *geom, int *gpath) {
- return (int)GeomCall(sel[4], geom, gpath);
- }
-
- int crayUseVColor(Geom *geom, ColorA *color, int *gpath) {
- return (int)GeomCall(sel[5], geom, color, gpath);
- }
-
- int crayUseFColor(Geom *geom, ColorA *color, int *gpath) {
- return (int)GeomCall(sel[6], geom, color, gpath);
- }
-
- int crayEliminateColor(Geom *geom, int *gpath) {
- return (int)GeomCall(sel[7], geom, gpath);
- }
-
- int craySetColorAll(Geom *geom, ColorA *color, int *gpath) {
- return (int)GeomCall(sel[8], geom, color, gpath);
- }
-
- int craySetColorAt(Geom *geom, ColorA *color, int vindex, int findex,
- int *edge, int *gpath, HPoint3 *pt) {
- return (int)GeomCall(sel[9], geom, color, vindex, findex, edge, gpath,
- pt);
- }
-
- int craySetColorAtV(Geom *geom, ColorA *color, int index, int *gpath,
- HPoint3 *pt) {
- return (int)GeomCall(sel[10], geom, color, index, gpath, pt);
- }
-
- int craySetColorAtF(Geom *geom, ColorA *color, int index, int *gpath) {
- return (int)GeomCall(sel[11], geom, color, index, gpath);
- }
-
- int crayGetColorAt(Geom *geom, ColorA *color, int vindex, int findex,
- int *edge, int *gpath, HPoint3 *pt) {
- return (int)GeomCall(sel[12], geom, color, vindex, findex, edge, gpath, pt);
- }
-
- int crayGetColorAtV(Geom *geom, ColorA *color, int index, int *gpath,
- HPoint3 *pt) {
- return (int)GeomCall(sel[13], geom, color, index, gpath, pt);
- }
-
- int crayGetColorAtF(Geom *geom, ColorA *color, int index, int *gpath) {
- return (int)GeomCall(sel[14], geom, color, index, gpath);
- }
-
- void *crayTrue(int sel, Geom *geom, va_list args) {
- return (void *)1;
- }
-
- void *crayFalse(int sel, Geom *geom, va_list args) {
- return (void *)0;
- }
-